package cn.dapeng.other;

/**
 * 给一个数组
 * <p>
 * 除其中一个数字出现是奇数个，其余所有的数组出现都是偶数个，请找出这个奇数
 */
public class FindOddNumber {

    /**
     * 异或操作：无进位相加
     * <p>
     * 偶数个的数字异或为零
     * 奇数个数字异或后的结果是这个数字本身
     *
     * @param array
     * @return
     */
    public static int findOdd(int[] array) {
        int ans = array[0];
        for (int i = 1; i < array.length; i++) {
            ans ^= array[i];
        }
        return ans;
    }


    public static void main(String[] args) {
        int array[] = {1, 1, 1, 1, 3, 4, 5, 5, 4};
        System.out.println(findOdd(array));
    }


}
